import { defineStore } from 'pinia'

export const useExhibitionHeaderStore = defineStore('exhibitionHeader', {
  state: () => ({
    // 控制搜索区域的显示与隐藏
    isSearchVisible: true,
    
    // 搜索表单数据
    searchForm: {
      exhibitionName: '',
      exhibitionType: '',
      exhibitionStatus: '',
      dateRange: []
    },
    
    // 展览类型选项
    exhibitionTypes: [
      { value: '', label: '全部类型' },
      { value: '常设展览', label: '常设展览' },
      { value: '临时展览', label: '临时展览' },
      { value: '特别展览', label: '特别展览' },
      { value: '巡回展览', label: '巡回展览' },
      { value: '虚拟展览', label: '虚拟展览' }
    ],
    
    // 展览状态选项
    exhibitionStatus: [
      { value: '', label: '全部状态' },
      { value: '0', label: '即将开始' },
      { value: '1', label: '展出中' },
      { value: '2', label: '已结束' }
    ]
  }),
  
  actions: {
    // 切换搜索区域的显示状态
    toggleSearchArea() {
      this.isSearchVisible = !this.isSearchVisible;
    },
    
    // 搜索方法
    handleSearch() {
      // 构建搜索参数
      const params = {
        name: this.searchForm.exhibitionName,
        type: this.searchForm.exhibitionType,
        status: this.searchForm.exhibitionStatus,
        startDate: this.searchForm.dateRange && this.searchForm.dateRange[0] ? this.searchForm.dateRange[0] : null,
        endDate: this.searchForm.dateRange && this.searchForm.dateRange[1] ? this.searchForm.dateRange[1] : null
      };
      
      console.log('搜索参数:', params);
      // 调用展览store的获取数据方法
      return params;
    },
    
    // 重置搜索表单
    resetForm() {
      this.searchForm.exhibitionName = '';
      this.searchForm.exhibitionType = '';
      this.searchForm.exhibitionStatus = '';
      this.searchForm.dateRange = [];
      
      // 重置后自动搜索
      return this.handleSearch();
    },
    
    // 导出数据
    exportData() {
      console.log('导出展览数据');
      // 实现导出功能
    },
    
    // 添加新展览
    // 修改 addExhibition 方法
    
  }
});